跳到主要内容

Julia 阵列

阐述

阵列是 AbstractArray{T, N} 的子类型。最常用的一种是 Array{T, N},也即稠密阵列。

定义自己的阵列类型

必须定义的方法:size, IndexStyle, getindex

实例

阵列字面值

我们可以通过中括号来创建阵列字面值:[A, B, C, ...],其中元素类型由它们自动决定:

  • 如果元素都属于同一类型,就是这个类型;
  • 如果元素有共同的提升类型,则为提升类型;
  • 类型为 Any

阵列推导

通用的语法:

A = [ F(x, y, ...) for x = rx, y = ry, ...]

这里 rx, ry 都是可迭代对象。

阵列字面值的纵向连接

如果方括号内的元素由分号或者新行连接,那么它们会被认为是元素的集合,而非自身;如果由制表符或空格连接,则会被认为是创建了新的列。实例:

[1:2; 4:5] # 4 × 1[1:2 4:5] # 2 × 2[1 2 3] # 1 × 3[1 2; 3 4] # 2 × 2

这些只不过是一个函数的别名:

  • cat:在任意维度上组合;
  • vcat:在一维上组合;
  • hcat:在二维上组合;

性质

相关内容

参考文献